<!DOCTYPE html>
<html lang="en">

<head>
	<meta charset="UTF-8">
	<meta name="viewport" content="width=device-width, initial-scale=1.0">
	<title>线上笔试答题系统</title>
	<link rel="stylesheet" href="./styles/css/common.css">
	<link rel="stylesheet" href="./styles/css/index.css">
</head>

<body class="choice">
	<script src="http://rsj.beijing.gov.cn/images/rsj_header.js"></script>
	<include src="./include/header.html"></include>
	<div class="wrap">
		<div class="clearfix" id="nav_wrap">
			<script type="text/html" id="nav_tem">
				<%if(data.executeResult == 1){%>
				<% var _Data = data.dtxx%>
				<% var _data = data.tmxx%>

				<div class="com-nav">
					<div class="choice-nav">
						<i class="J_goback">
							<img src="./styles/images/fanhui.png" alt=""></i>
						<p class="job"><%=_Data.gwwdmc%></p>
						<p class="jjt">进阶题</p>
						<div class="timeout">
							<span class="left">计时器</span>
							<b class="right"></b>
						</div>
					</div>
				</div>

				<!-- 内容区域 -->
				<%if(_data.length>0){%>
				<div class="subject-wrap">
					<div class="subject-con">
						<!-- 题目说明 -->
						<p class="subject-explain">
							<!--  -->
							<%=#_Data.zdy,true%>
						</p>

						<!-- 题目内容 -->
						<!-- 单纯的选择题 -->
						<!-- 单个选项样式 -->
						<%for(var i=0;i<_data.length;i++){%>
						<% var _item = _data[i]%>
						<div class="subject-item clearfix" num="<%=i%>" tmbh="<%=_item.tmbh%>" tmjb="<%=_item.tmjb%>"
							tb="<%=_item.tb%>">
							<%if(i>=10){%>
							<i class="th left">（0<%=i+1%>）</i>
							<%}else{%>
							<i class="th left">（<%=i+1%>）</i>
							<%}%>
								<div class="item left">
									<p class="tm" dqys="<%=_item.dqys%>"><%=#_item.tmmc,true%></p>
							<%if(_item.tpurl){%>
							<div class="tmImg">
								<img src="<%=_item.tpurl%>" alt="">
							</div>
							<%}%>
								<%if(_item.ejtm){%>
							<p class="tm"><%=_item.ejtm%></p>
							<%}%>
							           <!-- 数组 下面接着循环 -->
									<% var _arr = _data[i].txbj%>
							<!-- 后台反的值 回显 数组 -->
							<% var tbbjxzjg = _data[i].tbbjxzjg%>

							<div class="dxCon" data-readonly="1">
								<!-- 多个单选样式 -->
								<div class="moreDxItem moreDxNum">
									<!-- 循环纵向 1-5序号 -->
									<%for(var j=0;j<_arr.length;j++){%>
									<% var _tem = _arr[j]%>

									<div class="clearfix one">
										<!-- 序号 -->

										<i class="left">第<%=_data[i].xxxhs[j]%>行、</i>

										<%if(tbbjxzjg.length>0){%>
										<!-- 图形比较   比较特殊 由多选 所以先进行循环判断 根据每个多选的父级单个元素 -->
										<div class="moreDx left" xzjg="<%=tbbjxzjg[j]%>">
											<!-- 横向单选 -->
											<%for(var k=0;k<_data[i].txbj[j].txbjxx.length;k++){%>
											<% var _otm = _data[i].txbj[j].txbjxx[k]%>
											<%if(_Data.sfxt=='1'){%>
											<!-- 如果后台返回数组值 则添加类名其他不能选 -->
											<%if(tbbjxzjg[j]==_otm.dabh){%>

											<!-- 选择结果==答题编号 -->
											<div <%if(tbbjxzjg[j]==_otm.dabh){%> class="moreDxAnswer dxActive" xzjg="<%=_otm.dabh%>" <%} else {%>
												class="moreDxAnswer" <%}%> xzjg="<%=_otm.dabh%>">
												<span><%=_otm.dabh%></span>
												<p><%=_otm.danr%></p>
											</div>
											<%}else{%>
											<div class="moreDxAnswer J_moreDxItem " xzjg="<%=_otm.dabh%>">
												<span><%=_otm.dabh%></span>
												<p><%=_otm.danr%></p>
											</div>
											<%}%>
										
											<%}else{%>
											<div <%if(tbbjxzjg[j]==_otm.dabh){%> class="moreDxAnswer dxActive" xzjg="<%=_otm.dabh%>" <%} else {%>
												class="moreDxAnswer" <%}%> xzjg="<%=_otm.dabh%>">
												<span><%=_otm.dabh%></span>
												<p><%=_otm.danr%></p>
											</div>
											<%}%>
                                           <%}%>
										</div>
										<%}%>

									</div>
									<%}%>
									</div>
								</div>
							</div>
						</div>
						<%}%>
								</div>
							</div>
							<div class="subject-btn">
								<span class="back J_cancel">上一题</span>
								<span class="tj J_save">下一题</span>
							</div>
							<%}%>
						<%}%>

			</script>
		</div>
	</div>

	<script src="http://rsj.beijing.gov.cn/footer.js"></script>

	<script src="./common/vendor.js"></script>
	<script src="./common/common.js"></script>
	<script>
		$(function () {
			var Load = new $.Loading();
			var gwwd = $.paramObj() && $.paramObj().gwwd; //岗位维度
			var cqpcbh = $.paramObj() && $.paramObj().cqpcbh; //抽取批次编号
			var tmcxfs = $.paramObj() && $.paramObj().tmcxfs; // 0：点击开始答题，1：点击上一步，2：点击下一步
			var dqys = $.paramObj() && $.paramObj().dqys; // 当前页数
			var zxwdjb = $.paramObj() && $.paramObj().zxwdjb; //自选维度级别
			var gwwhid = $.paramObj() && $.paramObj().gwwhid
			var Newcqpcbh = "";
			var currentTime; //当前时间
			var sfxt = "" //是否为新题
			var newdqys = ""
			var timeInterval = "";
			var Bc_Arr = [];
			var sfzhyy = ""; // 是否最后一页
			var Bc_Obj = {};
			var xxxhs = []; //随机序号 
			// 查询个人答题
			getInfo("", gwwd, cqpcbh, tmcxfs, dqys, zxwdjb, gwwhid, '');

			function getInfo(ywcz, gwwd, cqpcbh, tmcxfs, dqys, zxwdjb, gwwhid, sysj) {
				Load.on()
				$.asyncRender({
					url: '/zxwmsgj/tmxxCx',
					type: 'get',
					wrap: '#nav_wrap',
					tem: '#nav_tem',
					pos: 'returnData',
					data: {
						ywcz: ywcz,
						gwwd: gwwd,
						cqpcbh: cqpcbh,
						tmcxfs: tmcxfs,
						dqys: dqys,
						zxwdjb: zxwdjb,
						gwwhid: gwwhid,
						sysj: sysj,
					},
				}).done(function (res) {
					var res = res.returnData;
					if (res.executeResult == 1) {
						Load.off();
						Newcqpcbh = res.dtxx.cqpcbh; //新的批次编号
						if (res.dtxx.ywcdt == "1") {
							$(".J_save").html("提交");
						}
						if (res.dtxx.sfzhyy == "1") {
							$(".J_save").html("提交")
						}
						xxxhs = res.tmxx[0].xxxhs;
						sfzhyy = res.dtxx.sfzhyy; // 是否最后一页
						newdqys = res.dtxx.dqys; // 当前页数
						currentTime = res.dtxx.sysj; //剩余时间
						if (res.dtxx.sfxt == '1') {
							$(".timeout").show(); // 显示时间
							timeCount(); // 时间开始走
						} else {
							$(".timeout").hide(); // 倒计时消失
						}
						if (res.tmxx[0].tbbjxzjg.length > 0) {

							Bc_Arr = [{
								xzjg: res.tmxx[0].xzjg, // 选择结果
								tmbh: res.tmxx[0].tmbh, //题目编号 
								tmjb: res.tmxx[0].tmjb, //题目级别
								xxxh: xxxhs.toString(), // 随机序号
								tb: "" //图表
							}]
						}
						// 是否新题
						sfxt = res.dtxx.sfxt;
						// 判断有没有上一题
						if (res.dtxx.sfdyy == 1) {
							$(".J_cancel").hide()
						} else {
							$(".J_cancel").show();

						}
					} else {
						$.layerMsg(res.message, '我知道了');
					}
				})
			}
			template.helper('render_br', function (str, flag) {
				if (flag) {
					var _str = str.replace(/<br>/g, '<br>');
				}
				return _str
			});
			// 多个单选
			$(document).on('click', '.one .J_moreDxItem', function () {

				var index = $(this).parents('.one').index();
				var Index = $(this).parents('.subject-item').index();
				// 可以在元素上添加 data-readonly="0/1" 来控制是否可以选择
				if ($(this).parents('.dxCon').data('readonly') == 0) {
					return false;
				}
				if (!$(this).hasClass('dxActive')) {
					$(this).addClass('dxActive').siblings('.moreDxAnswer').removeClass('dxActive');
					$(this).parents('.moreDx').attr('xzjg', $(this).attr('xzjg'));
				}
			});
			// 提交  下一题
			$(document).on('click', '.J_save', function () {

				// 获取所有答案dxNum  moreDxNum
				var dxAll = $('.one').length;
				// var moreDxAll = $('.moreDxNum').length;
				var activeAll = $('.dxActive').length;
				if (sfxt == "1") {
					if (activeAll != dxAll) {
						$.layerMsg('还有答案未选择，请继续填写！', '我知道了', function () {})
					} else {
						Bc_Arr = []
						$('.subject-item').each(function (k, v) {
							var obj = {
								xzjg: moreDxAnswer($(this)), // 选择结
								tmbh: $(this).attr("tmbh"), //题目编号
								tmjb: $(this).attr("tmjb"), //题目级别
								tb: $(this).attr("tb"), //图表
								xxxh: xxxhs.toString() // 随机序号
							}
							Bc_Arr.push(obj);
						})
						if (sfzhyy == '1') {
							$.layerMsg("确认提交?",
								[{
									text: '确认',
									cb: function () {
										NextOrPrev(3, Newcqpcbh, gwwd, zxwdjb, newdqys, Bc_Arr, gwwhid, '', sfxt,
											2) // 下一题参数 业务操作=3,抽取批次编号,岗位维度,自选难度级别,当前页数+1,题目选择结果数组 由Bc_Obj添加
										Bc_Arr = [];
									}
								}, {
									text: '取消',
									cb: function () {
										return false
									}
								}])
						} else {
							NextOrPrev(3, Newcqpcbh, gwwd, zxwdjb, newdqys, Bc_Arr, gwwhid, '', sfxt,
								2) // 下一题参数 业务操作=3,抽取批次编号,岗位维度,自选难度级别,当前页数+1,题目选择结果数组 由Bc_Obj添加
							Bc_Arr = [];
						}
					}
				} else {
					NextOrPrev(3, Newcqpcbh, gwwd, zxwdjb, newdqys, [], gwwhid, sessionStorage.getItem("time"), sfxt,
						2) // 下一题参数 业务操作=3,抽取批次编号,岗位维度,自选难度级别,当前页数+1,题目选择结果数组 由Bc_Obj添加
					Bc_Arr = [];
				}
			})
			// 上一题
			$(document).on('click', '.J_cancel', function () {
				clearInterval(timeInterval);
				if (sfxt == "1") {
					Bc_Arr = [];
					var _data = $(".subject-item");
					_data.each(function (k, v) {
						var obj = {
							xzjg: moreDxAnswer($(this)), // 选择结果
							tmbh: $(this).attr("tmbh"), //题目编号 
							tmjb: $(this).attr("tmjb"), //题目级别
							tb: $(this).attr("tb"), //图表
							xxxh: xxxhs.toString(), // 随机序号
						}
						Bc_Arr.push(obj)
					})
					$.fetch({
						url: "/zxwmsgj/tmxxBc",
						type: "post",
						data: {
							ywcz: 2, // 必填 0: 时间到了 1： 页面退出 2： 上一步 3： 提交 （下一步） 4：刷新
							cqpcbh: Newcqpcbh, //  选填 抽取批次编号
							gwwd: gwwd, // 必填 岗位维度
							zxwdjb: zxwdjb, // 选填 自选维度级别
							dqys: parseInt(newdqys) - 1, // 选填 当前页数
							tmxzjg: Bc_Arr, // 选填 题目选择结果（ 对象数组tmbh、 tmjb、 xzjg、 sfzqda、 tb）
							gwwhid: gwwhid,
							sysj: sessionStorage.getItem("time"),
							sfxt: sfxt,
							tmcxfs: 1, // 选填 0： 点击开始答题， 1： 点击上一步， 2： 点击下一步
						}
					}).done(function (res) {
						getInfo("", gwwd, Newcqpcbh, 1, parseInt(newdqys) - 1, zxwdjb, gwwhid, sessionStorage.getItem(
							"time"));
					})
				} else {
					getInfo("", gwwd, Newcqpcbh, 1, parseInt(newdqys) - 1, zxwdjb, gwwhid, sessionStorage.getItem("time"));
				}
			})
			//  下一题一级提交的判断
			function NextOrPrev(ywcz, cqpcbh, gwwd, zxwdjb, dqys, tmxzjg, gwwhid, sysj, sfxt, tmcxfs) {
				Load.on();
				$.fetch({
					url: "/zxwmsgj/tmxxBc",
					type: "post",
					data: {
						ywcz: ywcz, // 必填 0: 时间到了 1： 页面退出 2： 下一步 3： 提交
						cqpcbh: cqpcbh, //  选填 抽取批次编号
						gwwd: gwwd, // 必填 岗位维度
						zxwdjb: zxwdjb, // 选填 自选维度级别
						dqys: dqys, // 选填 当前页数
						tmxzjg: tmxzjg, // 选填 题目选择结果（ 对象数组tmbh、 tmjb、 xzjg、 sfzqda、 tb）
						gwwhid: gwwhid,
						sysj: sysj,
						sfxt: sfxt,
						tmcxfs: tmcxfs, // 选填 0： 点击开始答题， 1： 点击上一步， 2： 点击下一步
					}
				}).done(function (res) {
					var _res = res.returnData;
					if (_res.executeResult === '1') {
						Load.off();
						// 保存成功继续查询下一题 查询后台返回的值
						if (_res.sfytj == "1") {
							clearInterval(timeInterval);
							$(window).off('beforeunload');
							alert("您已答完题！");
							sessionStorage.removeItem("time");
							window.location.href = './dimension.html?gwwhid=' + _res.gwwhid;
						}
						if (_res.ywzw == "0" || _res.ywcz == "1") {
							return false;
						} else {
							// 查询个人答题
							getInfo("", _res.gwwd, _res.cqpcbh, _res.tmcxfs, _res.dqys, _res.zxwdjb, _res.gwwhid, '');
							$('body,html').animate({
								scrollTop: 0
							}, 1);
							return false;
						}
					} else {
						$.layerMsg(_res.returnData, "确定")
					}
				})
			};
			// 时间倒计时
			function timeCount() {
				//获取对应的答题时间
				clearInterval(timeInterval);
				timeInterval = setInterval(function () {
					currentTime -= 1;
					sessionStorage.setItem("time", currentTime);
					var second = Math.floor(currentTime % 60); // 计算秒
					var minite = Math.floor((currentTime / 60) % 60); //计算分
					$('.right').text($.fixTimeZero(minite) + ':' + $.fixTimeZero(second));
					if (currentTime === 0) { //如果答题时间为0
						clearInterval(timeInterval); //清除定时器
						Bc_Arr = [];
						var _data = $(".subject-item");
						_data.each(function (k, v) {
							var obj = {
								xzjg: moreDxAnswer($(this)), // 选择结果
								tmbh: $(this).attr("tmbh"), //题目编号 
								tmjb: $(this).attr("tmjb"), //题目级别
								tb: $(this).attr("tb"), //图表
								xxxh: xxxhs.toString(), // 随机序号
							}
							Bc_Arr.push(obj)
						})
						// 事件到了触发自定义 timeup事件
						NextOrPrev('0', Newcqpcbh, gwwd, zxwdjb, newdqys, Bc_Arr, gwwhid, '', sfxt, 2);
						Bc_Arr = [];
					}
				}, 1000);
			}
			//    保存接口 用于回调 浏览器离开刷新操作 用到   时间倒计时60用到
			function postSaveStatus(ywcz, cqpcbh, gwwd, zxwdjb, dqys, tmxzjg, gwwhid, sysj, xfxt, tmcxfs) {
				var deferred = new $.Deferred();
				Load.on();
				$.fetch({
					type: 'post',
					url: '/zxwmsgj/tmxxBc',
					data: {
						ywcz: ywcz, // 必填 0: 时间到了 1： 页面退出 2： 下一步 3： 提交
						cqpcbh: cqpcbh, //  选填 抽取批次编号
						gwwd: gwwd, // 必填 岗位维度
						zxwdjb: zxwdjb, // 选填 自选维度级别
						dqys: dqys, // 选填 当前页数
						tmxzjg: tmxzjg, // 选填 题目选择结果（ 对象数组tmbh、 tmjb、 xzjg、 sfzqda、 tb）
						tmcxfs: tmcxfs, // 选填 0： 点击开始答题， 1： 点击上一步， 2： 点击下一步
						gwwhid: gwwhid,
						sysj: sysj,
						xfxt: xfxt,
						tmcxfs: tmcxfs
					}
				}).always(function () {
					Load.off();
				}).done(function (response) {
					var result = response.returnData;
					if (parseInt(result.executeResult, 10) === 1) {
						getInfo("", result.gwwd, result.cqpcbh, result.tmcxfs, result.dqys, result.zxwdjb, result.gwwhid,
							result.sysj);
						deferred.resolve();
					} else {
						deferred.reject();
					}
				}).fail(function (e) {
					deferred.reject();
				});
				return deferred.promise();
			}
			//  封装方法
			function moreDxAnswer(ele) {
				var eleXx = $(ele).find('.moreDx');
				var _str = '';
				eleXx.each(function (index, ele) {
					if (index == eleXx.length - 1) {
						if ($(ele).attr('xzjg') != undefined) {
							_str += $(ele).attr('xzjg')
						}
					} else {
						if ($(ele).attr('xzjg')) {
							_str += $(ele).attr('xzjg') + ","

						} else {
							_str += ",";
						}
					}
				})
				return _str;
			}
			// // 浏览器关闭刷新事件处理
			$(window).on('beforeunload', function (e) {
				if (sfxt == '1') {
					Bc_Arr = [];
					var _data = $(".subject-item");
					_data.each(function (k, v) {
						var obj = {
							xzjg: moreDxAnswer($(this)), // 选择结果
							tmbh: $(this).attr("tmbh"), //题目编号 
							tmjb: $(this).attr("tmjb"), //题目级别
							tb: $(this).attr("tb"), //图表
							xxxh: xxxhs.toString(), // 随机序号
						}
						Bc_Arr.push(obj)
					})
					postSaveStatus("4", Newcqpcbh, gwwd, zxwdjb, newdqys, Bc_Arr, gwwhid, currentTime, sfxt, tmcxfs);
				} else {
					getInfo("", gwwd, Newcqpcbh, 1, parseInt(newdqys), zxwdjb, gwwhid, '');
				}
				return '所有维度在三个月内个人只能答一次，且答题时间为一小时，超过一小时则不能继续答题，是否同意？';
			})
		});

	</script>
</body>

</html>
